package com.huizhan.web.model;

import javax.persistence.*;
import java.io.Serializable;
import java.text.SimpleDateFormat;

import com.fasterxml.jackson.annotation.*;
import io.swagger.annotations.*;
import java.util.Date;

/**
 * @Description 项目 
 * @Author  yanluping@outlook.com
 * @Date 2020-01-09 19:15:53 
 */
@JsonIgnoreProperties({"hibernateLazyInitializer","handler"})
@Entity
@ApiModel(value =  "项目")
@Table ( name ="Project")
public class Project  implements Serializable {

	private static final long serialVersionUID =  7369866629282382748L;

	/**
	 * 项目ID
	 */
	@ApiModelProperty(value = "项目ID")
	@Id
   	@Column(name = "Project_Id" )
	private String projectId;

	/**
	 * 项目类型ID
	 */
	@ApiModelProperty(value = "项目类型ID")
   	@Column(name = "Project_Type_Id" )
	private Long projectTypeId;

	/**
	 * 负责人账号ID
	 */
	@ApiModelProperty(value = "负责人账号ID")
   	@Column(name = "Account_Id" )
	private String accountId;

	/**
	 * 名称
	 */
	@ApiModelProperty(value = "名称")
   	@Column(name = "Name" )
	private String name;

	/**
	 * 地址
	 */
	@ApiModelProperty(value = "地址")
   	@Column(name = "Address" )
	private String address;

	/**
	 * 手机
	 */
	@ApiModelProperty(value = "手机")
   	@Column(name = "Phone" )
	private String phone;

	/**
	 * 横幅
	 */
	@ApiModelProperty(value = "横幅")
   	@Column(name = "Banner" )
	private String banner;

	/**
	 * 负责人
	 */
	@ApiModelProperty(value = "admin")
   	@Column(name = "Admin" )
	private String admin;

	/**
	 * 地址
	 */
	@ApiModelProperty(value = "地址")
   	@Column(name = "Url" )
	private String url;

	/**
	 * 启用
	 */
	@ApiModelProperty(value = "启用")
   	@Column(name = "Enabled" )
	private Integer enabled;

	/**
	 * 短信签名
	 */
	@ApiModelProperty(value = "短信签名")
   	@Column(name = "SignName" )
	private String signName;

	/**
	 * 短信总计数量
	 */
	@ApiModelProperty(value = "短信总计数量")
   	@Column(name = "Total" )
	private Long total;

	/**
	 * 短信发送数量
	 */
	@ApiModelProperty(value = "短信发送数量")
   	@Column(name = "SMS" )
	private Long sms;

	/**
	 * 微信AppId
	 */
	@ApiModelProperty(value = "微信AppId")
   	@Column(name = "AppId" )
	private String appId;

	/**
	 * 微信密钥
	 */
	@ApiModelProperty(value = "微信密钥")
   	@Column(name = "AppSecret" )
	private String appSecret;

	/**
	 * 支付密钥
	 */
	@ApiModelProperty(value = "支付密钥")
   	@Column(name = "PaySecret" )
	private String paySecret;

	/**
	 * 商户ID
	 */
	@ApiModelProperty(value = "商户ID")
   	@Column(name = "MerchantId" )
	private String merchantId;

	/**
	 * 开始时间
	 */
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	@ApiModelProperty(value = "开始时间",example = "2018-10-01 12:18:48")
   	@Column(name = "StartDate" )
	private Date startDate;

	/**
	 * 结束时间
	 */
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	@ApiModelProperty(value = "结束时间",example = "2018-10-01 12:18:48")
   	@Column(name = "EndDate" )
	private Date endDate;

	/**
	 * 创建时间
	 */
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	@ApiModelProperty(value = "创建时间",example = "2018-10-01 12:18:48")
   	@Column(name = "CreateDate" )
	private Date createDate;

	public String getProjectId() {
		return this.projectId;
	}

	public void setProjectId(String projectId) {
		this.projectId = projectId;
	}

	public Long getProjectTypeId() {
		return this.projectTypeId;
	}

	public void setProjectTypeId(Long projectTypeId) {
		this.projectTypeId = projectTypeId;
	}

	public String getAccountId() {
		return this.accountId;
	}

	public void setAccountId(String accountId) {
		this.accountId = accountId;
	}

	public String getName() {
		return this.name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getAddress() {
		return this.address;
	}

	public void setAddress(String address) {
		this.address = address;
	}

	public String getPhone() {
		return this.phone;
	}

	public void setPhone(String phone) {
		this.phone = phone;
	}

	public String getBanner() {
		return this.banner;
	}

	public void setBanner(String banner) {
		this.banner = banner;
	}

	public String getAdmin() {
		return this.admin;
	}

	public void setAdmin(String admin) {
		this.admin = admin;
	}

	public String getUrl() {
		return this.url;
	}

	public void setUrl(String url) {
		this.url = url;
	}

	public Integer getEnabled() {
		return this.enabled;
	}

	public void setEnabled(Integer enabled) {
		this.enabled = enabled;
	}

	public String getSignName() {
		return this.signName;
	}

	public void setSignName(String signName) {
		this.signName = signName;
	}

	public Long getTotal() {
		return this.total;
	}

	public void setTotal(Long total) {
		this.total = total;
	}

	public Long getSms() {
		return this.sms;
	}

	public void setSms(Long sms) {
		this.sms = sms;
	}

	public String getAppId() {
		return this.appId;
	}

	public void setAppId(String appId) {
		this.appId = appId;
	}

	public String getAppSecret() {
		return this.appSecret;
	}

	public void setAppSecret(String appSecret) {
		this.appSecret = appSecret;
	}

	public String getPaySecret() {
		return this.paySecret;
	}

	public void setPaySecret(String paySecret) {
		this.paySecret = paySecret;
	}

	public String getMerchantId() {
		return this.merchantId;
	}

	public void setMerchantId(String merchantId) {
		this.merchantId = merchantId;
	}

	public Date getStartDate() {
		return this.startDate;
	}

	public void setStartDate(Date startDate) {
		this.startDate = startDate;
	}

	public Date getEndDate() {
		return this.endDate;
	}

	public void setEndDate(Date endDate) {
		this.endDate = endDate;
	}

	public Date getCreateDate() {
		return this.createDate;
	}

	public void setCreateDate(Date createDate) {
		this.createDate = createDate;
	}

	public String DateString(){
		SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		return formatter.format(new Date());
	}

	@Override
	public String toString() {
		return "{" +
					"projectId='" + projectId + '\'' +
					"projectTypeId='" + projectTypeId + '\'' +
					"accountId='" + accountId + '\'' +
					"name='" + name + '\'' +
					"address='" + address + '\'' +
					"phone='" + phone + '\'' +
					"banner='" + banner + '\'' +
					"admin='" + admin + '\'' +
					"url='" + url + '\'' +
					"enabled='" + enabled + '\'' +
					"signName='" + signName + '\'' +
					"total='" + total + '\'' +
					"sms='" + sms + '\'' +
					"appId='" + appId + '\'' +
					"appSecret='" + appSecret + '\'' +
					"paySecret='" + paySecret + '\'' +
					"merchantId='" + merchantId + '\'' +
					"startDate='" + startDate + '\'' +
					"endDate='" + endDate + '\'' +
					"createDate='" + createDate + '\'' +
				'}';
	}

}
